The present invention relates to a test of an integrated circuit such as ASIC, and particularly relates to an integrated circuit for realizing a test on a path between clock domains, and to a test method thereof. The invention further relates to a design structure upon which a design of such an integrated circuit resides.
When an application specific integrated circuit (ASIC) designed and manufactured for a particular use is manufactured, an LSSD (Level-Sensitive Scan Design) scan test (hereinafter, referred to as LSSD test) using an LSSD latch is widely carried, as a method of judging whether a chip is conforming or nonconforming.
FIG. 7 is a schematic diagram of a circuit configuration for carrying out the LSSD test.
As shown in FIG. 7, LSSD latches (flip-flops) 200 are provided respectively to the input and output sides of each of combinational circuits (circuits subject to a test) in a chip (an integrated circuit) in order to carry out the LSSD test. Furthermore, all the LSSD latches 200 in the chip are connected via a plurality of scan chains.
The LSSD latch 200 is configured by combining two D latches which are a master latch 201 and a slave latch 202. The master latch 201 includes an input of an A clock, a scan input controlled by using the A clock, an input of a C clock, and a data input controlled by using the C clock. The slave latch 202 is connected to a B clock. When the B clock is at a high level, the data of the master latch 201 is inputted to the slave latch 202.
In a normal operation, the A clock is fixed at a low level, and data is held by using the B and C clocks. On the other hand, when the LSSD test is carried out, the A and B clocks are used for inputting a test pattern (test data) and for outputting a test result.
The sequence of a static LSSD test on the circuit in FIG. 7 is as follows.
Firstly, a test pattern is set in the input side of the LSSD latch 200 via the scan chain by using the A and B clocks (hereinafter, the scan load). After the scan load is finished, the C clock is hit and an output of the combinational circuit is captured in the LSSD latch 200 on the output side. Subsequently, a value captured in the LSSD latch 200 is observed by scan-out (hereinafter, scan unload). It is possible to judge whether logic is correct or incorrect in each combinational circuit by comparing a value obtained by this scan unload with an expected value figured out previously.
Today, it has been progressing not only that an integrated circuit such as ASIC is constructed in a larger scale and with higher density, but also that the integrated circuit operates at higher speed. Especially, the manufacturing process has been becoming more complicated, and the number of steps has been increasing. Therefore, unevenness in semiconductors' speed has been becoming wide. Hence, it is necessary to check not only whether logic is correct or incorrect, but also whether a circuit operates normally at a clock frequency upon operation. Thus, it is important to carry out a test (at-speed test) of a circuit in an operating status (at speed) rather than a static test similar to the above. However, when an operating clock in the LSSD test is provided directly from a large scale integration (LSI) tester, which is an external apparatus, with the configuration shown in FIG. 7, it is difficult to carry out an operating test. This is because an operating clock provided from the LSI tester is slower than an original operating clock (an internal frequency) of an integrated circuit (a chip).
Therefore, in order to carry out the at-speed test, the test needs to be carry out by using the same operating clock as that in the actual operation of the LSI (for example, a clock generated in a PLL circuit in the LSI). However, although an at-speed test has been realized for a latch-to-latch path within a clock domain in the LSI (that is, a part of the circuits operating at the same clock), an at-speed test has not been realized for a latch-to-latch path between different clock domains (hereinafter, a cross domain path). Moreover, from the viewpoint of a data transfer rate between different kinds of interfaces, it is becoming more important nowadays to test a transfer rate between different clock domains.
As a conventional technique to carry out a test on a part of circuits spanning different clock domains, there is a test method called an AC-delay test. This is a method of testing a cross domain path by providing a release clock and a capture clock at approximately 50 MHz from a tester. Furthermore, as another conventional technique, a method and an apparatus have been proposed for carrying out a test by use of a clock for test (hereinafter, the test clock) (for example, refer to Japanese Patent Translation Publication No. 2003-513286). In the conventional technique cited in this document, the test clock is used as the capture clock, while a local clock of each domain (a clock in actual operation generated by the PLL circuit) is used as the release clock. Consequently, it is made possible to carry out the test in a state similar to the actual operation by arranging how quickly the release clock is caused to hit the capture clock.
As described above, not only the static test to check whether the logic is correct or incorrect but also the test to guarantee alternating-current (AC) operation are becoming significantly important for a today's integrated circuit in which its performance has been more improved, and in which its speed has been enhanced. In a test carried out by inputting the operation clock (test clock) from an LSI tester, since the operating clock is slow, the accuracy of the test is not improved, thereby leading to deterioration in fraction defective after shipment. Hence, there is a need to carry out the at-speed test in which a test is carried out by use of the same clock as that in the actual operation of the LSI. However, the at-speed test on the clock domain path has not been realized yet.
In the AC delay test carried out conventionally, the release-capture operation is performed by use of the B and C clocks which are operating clocks in the LSSD test shown in FIG. 7. However, there are problems that timing is not set accurately (so called timing creation), since these clocks are not used in the actual operation, and that there is a large difference in the control over a time when a clock arrives at a latch since the clock is provided from a tester channel.
In the conventional technique cited in Patent Document 1, a complicated test control circuit is provided in the LSI in order to carry out the test. Therefore, although it is possible to carry out the test in a state similar to the at-speed test, there are problems that the circuit scale of the LSI becomes large, and that timing close becomes difficult.